#ifndef GRAPHICS_FRUSTRUM_H
#define GRAPHICS_FRUSTRUM_H

#include "boost/array.hpp"

#include "graphics/basic.h"
#include "graphics/bounding_volume.h"

namespace graphics{

class Frustrum : public BoundingVolume {
public:

    bool Overlaps(const BoundingVolume * other) const;
    bool OverlapWith(const BoundingSphere * other) const ;
    bool OverlapWith(const AxisAlignedBoundingBox * other) const;
    bool OverlapWith(const OrientedBoundingBox *other) const; 


protected:
    boost::array<std::pair<Point, Normal>, 6> planes_;
};
}

#endif